今天想來探討攻擊者待在環境裡的這段時間,到底都在做什麼?
先用一張圖,把這次系列會遇到的主要攻擊階段串起來。

上圖看起來像是一條直線,但真實世界一般不會這麼整齊。
攻擊者可能同時在不同主機做不同事情。
例如某台主機正在進行憑證竊取,
另一台已經開始橫向移動,
還有一台正在打包準備外洩的資料。
所以這裡的「階段」,不是要求攻擊一定要照順序發生。
它比較像是給我們一個全局概觀,知道一般常見流程會長怎樣
讓我們在看到某個事件時,知道自己目前站在攻擊鏈的哪個位置。
一般人碰到勒索軟體,第一個反應可能是:「檔案還救得回來嗎?」
這個問題當然很重要。
但從事件調查的角度來看,它還不是第一個問題。
因為如果回頭看前面的生命週期,就會發現:
加密已經是攻擊很後面的階段。
等到勒索信真的出現在桌面上,
攻擊者通常已經在環境裡完成不少前置工作。
所以看到加密,不代表我們只需要處理「加密」這一件事。

進行資安事件應變,除了把 cryptor 刪掉
需要從眼前的結果開始,一路往前追
找到攻擊者的初始進入點、權限來源、橫向移動路徑,以及留下來的持久化機制。
如果這些問題沒有處理乾淨,就算今天把系統還原完成,
攻擊者仍有可能從原本留下的入口重新進來。
最糟的情況,就是過幾天再被加密一次。
前面的生命週期也告訴我們一件很重要的事。
前面的攻擊階段如果能阻擋,後續的災難就不會發生

這也是為什麼 偵測(Detection 如此重要
防禦的目標,理想的情況,
是在攻擊者還沒走到最後一步以前,
就已經因為異常登入、可疑 PowerShell、憑證存取或橫向移動等發現並阻擋。
我們在 Day 26-28 會專門把阻擋變成偵測規則。
越早抓到,公司損失越小。
上圖右側的「留痕」,就是我們調查時該去翻哪些日誌的思路:
攻擊者做不同的事情,都會產生不同的系統行為。
而這些行為,就是我們調查時要找的線索。
| 階段 | 第一個該看的地方 |
|---|---|
| ①初始存取 | Windows 安全性日誌 4624/4625、郵件閘道 |
| ②持續性 | 7045 新服務、排程工作、PowerShell 4104 |
| ③憑證 | LSASS 存取、4769 Kerberos 票證 |
| ④橫向移動 | 4624 登入類型 3/10、admin$ 分享 |
| ⑤外洩 | 防火牆外連流量、DNS 查詢紀錄 |
| ⑥破壞復原 | 1102(日誌被清)、vssadmin 命令 |
| ⑦加密 | 檔案系統大量異動、勒索信檔名 |
上述也不是看到特定的 log 編號就等於是攻擊
例如:
進行資安事件調查時,要做的是把時間、帳號、來源 IP、Process、主機角色與前後事件串起來看。
單一事件只是線索,需要串接上下文才是證據。
之後每天我們會深入探討,討論「該看哪裡、怎麼看、看到什麼算異常」。
Day 04 進入「流程篇」。 當事件真的發生,第一個小時該做什麼 ?
我們會討論事件範圍界定、證據保存的順序